//
//  LBReactBridge+Util.h
//  LBReact
//
//  Created by WuShiHai on 19/6/19.
//  Copyright (c) 2019 Lebbay. All rights reserved.
//

#import <Foundation/Foundation.h>

#import "LBReactBridge.h"

@interface LBReactBridge (Util)

/**
 复制资源文件

 @param folderPath 包含assets文件夹的文件夹路径
 @param destFolder 包含assets文件夹的文件夹路径
 @return 是否复制成功
 */
+ (BOOL)copyAssetFolder:(NSString *)folderPath to:(NSString *)destFolder;

/**
 复制文件夹

 @param folderPath 源文件夹
 @param destFolder 模板文件夹
 @return 是否复制成功
 */
+ (BOOL)copyFolder:(NSString *)folderPath to:(NSString *)destFolder;

/**
 复制文件

 @param filePath 源文件
 @param destPath 目标文件
 @return 是否复制成功
 */
+ (BOOL)copyFile:(NSString *)filePath to:(NSString *)destPath;

/**
 合并文件夹

 @param folderPath 源文件夹
 @param destFolder 目标文件夹
 @param error 错误
 */
+ (void)mergeContentsOfPath:(NSString *)folderPath to:(NSString *)destFolder error:(NSError**)error;

/**
 删除文件夹

 @param folderPath 文件夹
 @return 是否删除成功
 */
+ (BOOL)removeFolder:(NSString *)folderPath;

/**
 检查文件夹是否存在，不存在则创建，如果创建失败，则返回NO

 @param folderPath 文件夹路径
 @return 文件夹是否存在
 */
+ (BOOL)inspectFolderPath:(NSString *)folderPath;

/**
 app内置资源对应的执行路径

 @param name 资源名称
 @param extension 资源类型
 @return 执行路径
 */
+ (NSString *)executePathForResource:(NSString *)name withExtension:(NSString *)extension;

/**
 沙盒文件对应的执行路径

 @param folderPath 文件夹路径
 @return 执行路径
 */
+ (NSString *)executePathFor:(NSString *)folderPath;

/**
 执行文件的根目录

 @return 路径
 */
+ (NSString *)executeRootPath;

/**
 文件夹内对应的以jsbundle为后缀的文件路径

 @param folderPath 文件夹路径
 @return 资源路径
 */
+ (NSString *)pathOfJSBundleIn:(NSString *)folderPath;

@end
